home *** CD-ROM | disk | FTP | other *** search
/ Mac Mania 2 / MacMania 2.toast / Demo's / Tools&Utilities / PowerPC / PPC News 3013 < prev    next >
Encoding:
Text File  |  1994-05-26  |  18.6 KB  |  323 lines  |  [TEXT/ttxt]

  1. 'FIRST TAKE ONE PROCESSOR'... THE PREP RECIPE FOR BUILDING MACHINES
  2.  
  3. "A huge roller-coaster of a novel crammed full with sizzling gypsies";
  4. was how Edmund Blackadder, the comic creation of Rowan Atkinson
  5. described a book of his. Compared to this, the PowerPC Reference
  6. Platform Specification (Beta Version) will find itself struggling to
  7. compete on the stage of world literature. There are no gypsies, only
  8. some sizzling bus specifications. Neither is it huge. Anyone who has
  9. seen PowerOpen's mammoth ABI and API specifications, will find PReP's
  10. 236 pages quite skimpy. Nonetheless, the ring-bound soft-covered volume
  11. is being pawed over by well in excess of 1,000 systems designers today
  12. as they try to decide whether to build PowerPC machines. It is no
  13. exaggeration to say that the PowerPC's success on the desktop will be
  14. built on three foundations: the inherent power of the chip itself;
  15. operating system and application support; and the care with which PReP
  16. is constructed.
  17.  
  18. As we have reported in the past, (select 3001) the PReP specification is
  19. a collaborative work, currently under the control of IBM, that lays out
  20. in some detail the specifications needed to build a PowerPC clone
  21. capable of running the Workplace OS, Windows NT, AIX; Solaris and
  22. Taligent.
  23.  
  24. Though notionally a public document, PReP has not always been easy to
  25. get hold of. Requests are fielded either by IBM or its nominated agents
  26. in various countries and there is a registration procedure to go
  27. through. There is no on-line version available either on the Internet or
  28. on CompuServe. IBM explains this omission, partly in terms of the arcane
  29. lay-up language that the PReP is held in (difficult to produce an ASCII
  30. version, they say) and partly in terms of control: the company likes to
  31. know who has a copy. Since the beta version was published in March,
  32. however, access has been eased considerably. A fax to IBM's John
  33. Terwilliger in the US on 512-838-8857 stating Name, Company, Address
  34. Telephone Number, Fax number, Internet address, Type of business,
  35. Alternative contact details and a reason for your request will usually
  36. do the trick, or, you can email him at: johntt@ausvm6.vnet.ibm.com. The
  37. Reference document itself suggests that you can try calling (1)-512-839-
  38. 2992 or (1)-800-845-6686 in the US, or (39)-39-600-4295 for copies.
  39.  
  40. Neither, it appears, is there anything to stop you from making further
  41. copies: "...IBM authorises you to copy and distribute this publication
  42. ... in any form, without payment to IBM, for the purpose of developing
  43. original publications, code or equipment (except integrated circuit
  44. processors) which conform to this publication" says its initial
  45. copyright notice. The brackets are important - you can do anything you
  46. like, but don't go off and build your own PowerPC processor - IBM
  47. wouldn't like that at all. After all, the whole raison d'etre of PReP is
  48. to keep IBM and Motorola chip factories busy.
  49.  
  50. Ignoring the thorny question of how acceptable PReP is to Apple, IBM
  51. reckons that the document is nearly finished. It needs to be - IBM's
  52. Power Personal Division is committed to shipping several machines that
  53. comply with the PReP specification, in the second half of this year.
  54. Prolonged wrangling over the spec would either entail a delay to the
  55. machines' launch or a machine that pre-empted the finished standard.
  56. Neither of these options can be palatable to IBM, indeed the combined
  57. wait for PReP and system software are the two factors keeping IBM from
  58. launching machines at the moment; there is little doubt that the
  59. division could have been shipping hardware in volume for months now
  60. without those constraints.
  61.  
  62. So what will you find as you curl up beside your roaring log fire for an
  63. evening? After the initial pre-amble it is divided into five main
  64. chapters, covering Hardware configurations, Architecture Guidance,
  65. Machine Abstractions; Boot Process & Firmware and the all-important
  66. Reference Implementation, which gives a glimpse at the likely
  67. configuration of IBM's first desktop model. The document is topped off
  68. with 10 appendices, five of which eventually describe implementation
  69. details of the announced compliant operating systems. In the alpha
  70. version, only the Windows NT appendix was in anything like a finished
  71. state. This time around the AIX specifications have been fleshed out and
  72. Workplace OS makes a debut. This leaves the Solaris and Taligent entries
  73. completely blank.
  74.  
  75. Workplace OS is not the only addition; since the first version, the
  76. authors have made some 67 changes to PReP's pages. Some are, dare we
  77. say, pretty trivial - so now Micro Channel Architecture is spelled out
  78. in full the first time it occurs, in order avoid confusing the poor
  79. folks who might believe that MCA signified the Music Corporation of
  80. America. However, other alterations are more significant:
  81.  
  82. *LocalTalk now joins Ethernet as a "recommended" networking standard -
  83. an obvious nod towards Apple Computer.
  84.  
  85. *Compliant machines should now be able to support both "Endian" modes of
  86. operation.
  87.  
  88. *The section on firmware development has been deleted on the grounds
  89. that it was too product-specific.
  90.  
  91. *VGA hardware emulation disappears, 640x480 resolution added.
  92.  
  93. *More detail is added to the multiprocessing section, particularly on
  94. the interrupt handling side.
  95.  
  96. *The Power Management section has virtually ben re-written.
  97.  
  98. *NVRAM structure is defined for the first time.
  99.  
  100. *For the first time, the document outlines a general procedure for
  101. getting systems certified as PReP compliant.
  102.  
  103. However there are still some places where the specification remains very
  104. sketchy. Don't expect much on audio support, for example; all you will
  105. receive is the bald statement that compliant systems must be able to get
  106. analogue noises in and out and must provide 16 bit stereo samples at a
  107. sampling rate of 44.1kHz and 22.05kHz and that is it.
  108.  
  109. One of the most quoted items in the whole document must be the table at
  110. the end of chapter two that defines hardware requirements for the
  111. various operating systems. To be precise, there are two tables, one
  112. which describes typical configurations for portable, media-less,
  113. desktop, technical and server machines. The other describes the
  114. resources required to run Windows NT, AIX and Workplace OS.
  115.  
  116. So, all PReP compliant computers must have a minimum of 8MBytes of RAM,
  117. but it is recommended that they be expandable to at least 32MB. Windows
  118. NT and AIX need 16MB to run, with the claim that the svelte Workplace OS
  119. will fit into 8MB. Hard disk capacity is a little trickier; the tables
  120. show that 80MB is the bare minimum, however all the operating systems
  121. will apparently require at least 200MB of disk space to operate. Indeed
  122. 240MB is recommended for all but servers, which should have at least
  123. 400MB.
  124.  
  125. On the connectivity side Ethernet or LocalTalk are the recommended
  126. standards which should be supported. Of course, there is nothing that
  127. stops developers from including Token Ring too, but to see IBM's
  128. erstwhile favourite missing from the recommended list shows that the
  129. company is taking consensus-building seriously. Likewise there are few
  130. mentions of MCA; neither the Music Corporation or the IBM bus standard.
  131. Recommended expansion busses are PCI, PCMCIA and/or ISA (the old AT
  132. bus). Others can be used, but will need changes to the operating
  133. system's abstraction layer.
  134.  
  135. "Abstraction" is word that you cannot avoid when talking about PReP -
  136. chapter 4 is devoted to it and the concept is key to the document's need
  137. to serve two opposing masters. On the other it has to promote
  138. standardisation, on the other, it has to give manufacturers enough
  139. leeway to differentiate their products. Abstraction is the mechanism
  140. chosen to satisfy these twin goals. Abstraction software concentrates
  141. all of the hardware-dependent operating system code into a single bundle
  142. with well-defined interfaces to the operating system kernel. The idea is
  143. to isolate the operating system from the vagaries of the hardware so
  144. that the hardware designer can do anything he or she likes under the
  145. hood, as long as the correct set of interfaces are maintained.
  146.  
  147. To the casual observer, the way in which PReP places the onus of
  148. abstraction on the operating system writer is curious. It might be
  149. thought that the hardware manufacture should be responsible for hiding
  150. the details of implementation under a thin software abstraction layer,
  151. however PReP makes it clear that it is the OS-writer's job to write the
  152. initial abstraction software, but must also provide a mechanism so that
  153. the PC maker can amend those parts that need to be changed due to
  154. proprietary hardware technology.
  155.  
  156. The abstraction software falls into three main classes; Boot-Time
  157. Abstraction Software (BTAS), Run-Time Abstraction Software (RTAS) and
  158. device drivers (shamefully, these don't have an abbreviation). BTAS
  159. abstracts the hardware used to boot the machine; these include disk and
  160. network interfaces needed to load the binary into the machine, as well
  161. as the keyboard and display. RTAS handles stuff like interrupt
  162. controllers and cache configuration.
  163.  
  164. Again, the boot process merits a substantial section of its own and
  165. chapter 5 goes into considerable detail explaining what should load what
  166. into where. It is a "strategic objective" to see PReP compliant hardware
  167. conforming to the IEEE P1275 "Open Firmware" draft standard. Why? so
  168. that a standard boot process can be used irrespective of system
  169. configuration. Open Firmware goes way beyond the ability for a machine
  170. to boot its core services; it gives adapter card manufacturers the
  171. ability to design cards that will work irrespective of the processor
  172. type. Put very simply, the Open Firmware-compliant machine will include
  173. a ROM-based Forth interpreter, while the cards will contain small
  174. programmes written in Forth that specify their set-up and configuration.
  175. There are a number of refinements, of course - the Forth commands are
  176. held in a 'tokenised' form, called FCode, to save space, for example.
  177. The net result is that everything from the initial hardware test,
  178. through discovery and initialisation to starting up the console, can be
  179. placed under the control of the open, extensible Fcode language. The
  180. early work on what is now called Open Firmware was carried out by Sun
  181. Microsystems and the technology already appears in Sun's machines.
  182.  
  183. You may be wondering where chapter 3 went. We skipped it in our haste to
  184. jump into the delights of abstraction. But as it happens, that chapter,
  185. headed "Architecture Guidance" is intimately connected with the sixth
  186. section in the tome "the reference implementation". They are, by far,
  187. the longest two sections in the work. The former sets out the
  188. theoretical architecture that PReP-compliant machines should follow -
  189. Bi-Endian operation, bus structure, the memory map and multiprocessor
  190. considerations are all there. The reference implementation puts the
  191. architecture into practice and presents a complete blueprint for a
  192. generic PowerPC-based machine. It is generally accepted that at least
  193. one of IBM Power Personal's forthcoming machines will bear a striking
  194. resemblance to this implementation.
  195.  
  196. The PReP architecture defines a hierarchy of buses. At the top is the
  197. 64-bit PowerPC bus used for shuttling data between processors, cache and
  198. system memory. This primary bus is connected via a bridge to a secondary
  199. bus supporting all of the other I/O devices. If necessary a slower,
  200. tertiary bus can also be implemented; bridged onto the secondary one.
  201. The reference implementation shows the architecture to the fullest. The
  202. secondary bus is a 32-bit PCI affair, which has the video display system
  203. (with integral VRAM) and a SCSI-2 port attached. A 16-bit ISA bus hosts
  204. audio, and floppy drives. Both have spare slots available.
  205.  
  206. Rather than attempting a definitive description of the architecture and
  207. reference platform - you can get your own copy if you want that - it's
  208. worth highlighting some of the more noteworthy parts. For example,
  209. though there is no reference to upgradeability in the PReP architecture,
  210. the reference machine includes a 200-pin upgrade slot attached to the
  211. processor bus. This can be filled with either an L2 cache card or a
  212. processor upgrade card. Unfortunately, the beta version of the document
  213. makes it explicit that this slot cannot be used for multiprocessing, so
  214. while you will be able to shove a shiny new PowerPC 604 processor into
  215. the machine, the old 601 will be disabled.
  216.  
  217. Though you can't achieve multiprocessing through this slot, symmetric
  218. multiprocessing is covered in some detail in the beta version of PReP. A
  219. new section in chapter 3 gives a detailed scheme for arranging
  220. interrupts in an SMP PowerPC-based system, and appendix A gives a
  221. potential two-way implementation for developers to ponder. Basically it
  222. boils down to more level-2 cache, multiple PCI buses and more system
  223. memory. There also needs to be additional facilities for handling
  224. interrupts and interprocessor communication. The 601 and 604 processors
  225. provide a number of commands for keeping processors synchronised. These
  226. are missing from the 603.
  227.  
  228. "Endianess" is another subject that crops up repeatedly in the Reference
  229. Platform specification. Its etymology dates back to 1726, when Jonathan
  230. Swift wrote Gulliver's travels and of a people warring over the most
  231. appropriate end to crack a boiled egg. Swift fell upon the feud between
  232. the 'Big-Endians' and the 'Little-Endians' as the crassest, most
  233. pointless argument he could invent, and it is appropriate that its name
  234. lives on to describe an arbitrary schism which has divided the processor
  235. world for its entire history. A Big-Endian processor is one which stores
  236. applications and data in the format big end first, most significant byte
  237. first. A Little-Endian processor stores it little end first, least
  238. significant byte first. Imagine a world where some people wrote English
  239. "like this" and others wrote "siht ekil" and you have more or less got
  240. it. Endianess is arbitrary, as far as anyone can argue, one is not
  241. better than the other, however, over the years, some manufacturers have
  242. adopted Big-Endian methods (IBM's POWER architecture, Motorola's 68000
  243. family) while others have opted for little Endian; notably Intel.
  244.  
  245. It is not easy to isolate the operating system from the Endianess of a
  246. processor, so, in keeping with their heritage , AIX and the Macintosh
  247. system software are Big-Endian, Windows NT and OS/2 for the PowerPC (nee
  248. Workplace OS) are Little-Endian. So how do you support all of these on
  249. one computer platform? You make it Bi-Endian. Natively, the PowerPC is a
  250. Big-Endian chip, however at the flick of a bit it can swap its
  251. proclivities. PReP compliant machines must be able to run in either
  252. mode. Apple Computer nearly managed to make its hardware Bi-Endian, but
  253. apparently fluffed it - a very few components in the Power Macintoshes
  254. only work in a Big-Endian manner, however Apple intends to fix this in
  255. future machines - a step on the long road to PReP compliance.
  256.  
  257. Being Bi-Endian does not require that the platform can simultaneously
  258. support Big and Little-Endian software simultaneously. The processor's
  259. Endianosity is set at boot time, and a system reset is required to
  260. change this. Theoretically, it is possible to build a machine which,
  261. though emulation and translation software could run both at once, this
  262. would be a so-called "Mixed-Endian" machine. Unfortunately the cost in
  263. processing terms would be ruinously expensive. The Endian question has
  264. more than a theoretical bearing, It means that building a Apple System 7
  265. personality to sit on top of Workplace OS is a tough task. Likewise
  266. producing an AIX personality will be no mean feat.
  267.  
  268. Which brings us neatly to the appendices, with their descriptions of the
  269. various operating systems. By far the most revealing is the section on
  270. AIX. It is from here that the rumours of Personal AIX spread - a pre-
  271. amble talks about The AIX 4.1 Personal Productivity Client (shortened
  272. later to Personal AIX) and explains that it "represents a major
  273. improvement to the terms and condition and packaging for AIX
  274. (translation - you will be able to get single user licences cheap). It
  275. is being aimed at engineers and researchers who want an entry level
  276. workstation-cum-personal computer and will come pre-installed.
  277.  
  278. Pay particular attention, as you flick through, to the section on the
  279. AIX Hardware Abstraction Layer. Today AIX doesn't have one - not a
  280. microkernel, or a thin layer of isolating code in sight. Moreover, there
  281. is no commitment to ever produce one, which would be necessary to turn
  282. AIX into a card-carrying "PReP Compliant" operating system. The section
  283. on AIX's HAL begins "IBM makes no claim that this [the HAL] will ever be
  284. implemented or that the abstraction will ever allow a 'shrink wrapped'
  285. AIX or allow a third party to provide components of the abstraction". In
  286. other word, AIX may continue to break all the rules. To confuse thing
  287. slightly, the AIX team in its "initial design investigation" talks about
  288. a Portability Assist Layer, rather than a Hardware Adaption Layer, but
  289. the outlined approach looks identical. There is, of course, absolutely
  290. no reason why IBM should re-architect AIX, it was designed for the
  291. POWER/PowerPC architecture and is perfectly happy running on the naked
  292. hardware. Still, it does reveal a certain chutzpa, when the rest of the
  293. document is dedicated to trumpeting the importance of compliance. It
  294. also means that the first PowerOpen implementations (based upon AIX)
  295. will not be able to carry the PReP compliant stickers.
  296.  
  297. By contrast, both Windows NT and Workplace OS are well behaved, though
  298. there is not much new to be gleaned. The Windows NT Hardware Abstraction
  299. Layer looks like a good match for PReP's Run-Time Abstraction Layer.
  300. There is still a big hole, however where the section on Boot Time
  301. Abstraction Requirements is meant to be, so no details on the OS loader
  302. that NT expects to use at Boot Time. Judging by the number of developers
  303. who are playing with NT on machines, however, it would seem that at
  304. least someone has an idea or two on this. Likewise, Workplace OS's
  305. microkernel structure serves to bundle all of the hardware specific code
  306. into one, small, well-defined place.
  307.  
  308. Not a very large book, then to define an entire computer architecture,
  309. but still substantially larger than the non-existent tome that today's
  310. PC industry is based upon. As the Reference Platform points out, when
  311. defining the ISA bus, the simplest definition is "Whatever it takes to
  312. make the most adapters pluggable". Final judgement will depend on the
  313. contents of the final version due out later this year, and ultimately on
  314. the number of companies which decide to follow its edicts and get
  315. awarded the sticker of compliance. Exactly what will be written on the
  316. sticker is still a matter for debate. Pending market analysis "A
  317. hardware platform will be branded as 'PowerPC Reference Platform
  318. Compliant' (or something of a similar nature)", say the document's
  319. authors, rather sheepishly. Time to wheel out the marketeers methinks.
  320.  
  321. (c)PowerPC News -  Free by mailing: add@power.globalnews.com
  322.  
  323.